<html>
<body>

<h3>函数功能</h3>该函数对指定的窗口设置键盘焦点。该窗口必须与调用线程的消息队列相关。<br>
<h3>函数原型</h3>HWND SetFocus（HWND hWnd）；<br>
<h3>参数</h3>
hWnd：接收键盘输入的窗口指针。若该参数为NULL，则击键被忽略。<br>
<h3>返回值</h3>若函数调用成功，则返回原先拥有键盘焦点的窗口句柄。若hWnd参数无效或窗口未与调用线程的消息队列相关，则返回值为NULL。若要获得更多错误信息，可以调用GetLastError函数。<br>
备注：SetFocus函数发送WM_KILLFOCUS消息到失去键盘焦点的窗口，并且发送WM_SETFOCUS消息到接受键盘焦点的窗口。它也激活接受键盘焦点的窗口或接受键盘焦点的窗口的父窗口。<br>
若一个窗口是活动的，但没有键盘焦点，则任何按键将会产生WM_SYSCHAR,WM_SYSKEYDOWN或WM_SYSKEYUP消息。若VK_MENU键也被按下，则消息的IParam参数将设置第30位。否则，所产生的消息将不设置此位。<br>
使用AttachThreadInput函数，一个线程可将输入处理连接到其他线程。这使得线程可以调用SetFocus函数为一个与其他线程的消息队列相关的窗口设置键盘焦点。<br>
Windows CE：不使用SetFocus函数为一个与其他线程的消息队列相关的窗口设置键盘焦点。但有一个例外。若一个线程的窗口是另一线程的子窗口，或这些窗口是具有同一父窗口的兄弟窗口，则与一个线程关联的窗日可以为其他窗口设置焦点，尽管该窗口属于一个不同的线程。在这种情况下，就不必先调用AttachThreadlnpUt函数。<br>
<h3>速查</h3>Windows NT：3.1及以上版本；Windows：95及以上版本：Windows CE：1.0及以上版；头文件：winuser.h；库文件：user32.lib。<br>


</body>
</html>
